diff --git a/lib/rust.dart b/lib/rust.dart
index 826b156..b23df13 100644
--- a/lib/rust.dart
+++ b/lib/rust.dart
@@ -41,10 +41,7 @@ export 'src/panic/unreachable.dart';
export 'src/path/path.dart';
// result
-export 'src/result/guard.dart';
-export 'src/result/record_to_result_extensions.dart';
export 'src/result/result.dart';
-export 'src/result/result_extensions.dart';
// slice
export 'src/slice/slice.dart';
diff --git a/lib/src/result/guard.dart b/lib/src/result/guard.dart
index 67c5e96..2912318 100644
--- a/lib/src/result/guard.dart
+++ b/lib/src/result/guard.dart
@@ -1,6 +1,4 @@
-import 'dart:async';
-
-import 'package:rust/rust.dart';
+part of 'result.dart';
/// Executes the function in a protected context. [func] is called inside a try catch block. If the result does not
/// catch, then return value [func] returned inside an [Ok]. If [func] throws, then the thrown value is returned
diff --git a/lib/src/result/record_to_result_extensions.dart b/lib/src/result/record_to_result_extensions.dart
index 43caec0..2e7c555 100644
--- a/lib/src/result/record_to_result_extensions.dart
+++ b/lib/src/result/record_to_result_extensions.dart
@@ -1,4 +1,4 @@
-import 'package:rust/rust.dart';
+part of 'result.dart';
extension Result$RecordResult2Extension on (
Result,
diff --git a/lib/src/result/result.dart b/lib/src/result/result.dart
index bc60d44..5a5d3b0 100644
--- a/lib/src/result/result.dart
+++ b/lib/src/result/result.dart
@@ -3,6 +3,9 @@ import 'dart:async';
import 'package:rust/rust.dart';
part 'future_result.dart';
+part 'guard.dart';
+part 'record_to_result_extensions.dart';
+part 'result_extensions.dart';
/// {@template result}
/// [Result] is used for propagating errors and represents the sum type of [Ok] and [Err].
diff --git a/lib/src/result/result_extensions.dart b/lib/src/result/result_extensions.dart
index 27ec85c..3f6b7a6 100644
--- a/lib/src/result/result_extensions.dart
+++ b/lib/src/result/result_extensions.dart
@@ -1,6 +1,4 @@
-import 'dart:async';
-
-import 'package:rust/rust.dart';
+part of 'result.dart';
extension Result$ResultResultExtension on Result, F> {
/// Converts a [Result] of a [Result] into a single [Result]